package com.fortune.service;

import com.fortune.common.paging.PagingData;
import com.fortune.dto.in.pRole.PRoleAddDto;
import com.fortune.dto.in.pRole.PRoleEditDto;
import com.fortune.dto.in.pRole.PRoleListDto;
import com.fortune.dto.in.pRole.PRolePermissionDto;
import com.fortune.entity.PPosition;
import com.fortune.vo.pRole.PRole;

public interface PRoleService {
    /**
     * 岗位列表
     * @param listDto
     * @return
     */
    PagingData<PRole> listMRoles(PRoleListDto listDto);

    /**
     * 通过名字查重
     * @param name
     * @return
     */
    PPosition getPositionByName(String name);

    /**
     * 添加岗位
     * @param pRoleAddDto
     * @return
     */
    int insertRole(PRoleAddDto pRoleAddDto);

    /**
     * 通过岗位id查是否存在
     * @param roleId
     * @return
     */
    PPosition getPositionByRoleId(String roleId);

    /**
     *通过岗位id和岗位名称查是否存在
     * @param name
     * @param roleId
     * @return
     */
    PPosition getPositionByNameAndRoleId(String name,String roleId);

    /**
     * 编辑岗位
     * @param editDto
     * @return
     */
    int updateRole(PRoleEditDto editDto);

    /**
     * 删除岗位
     * @param roleId
     * @return
     */
    int deleteRole(String roleId);

    /**
     * 添加权限
     * @param pRolePermissionDto
     * @return
     */
    int insertPermissions(PRolePermissionDto pRolePermissionDto);

    int queryUserByRoleId(String roleId);


}
